package fr.asip.cps3.exemple.modele.resultats;

import fr.asip.cps3.exemple.modele.traitements.util.TraitementsUtil;

/**
 * Classe représentant le résultat de 2 opérations sucessives accompagné d'informations
 */
public class ResultatDoubleInfo extends ResultatInfo {

	/**
	 * Deuxième code retour PKCS#11 
	 */
	protected long codeRetour2;

	/**
	 * Description de la deuxième opération à l'origine du résultat
	 */
	protected String operation2;
	
	/**
	 * Constructeur
	 * @param operation1 Description de la première opération
	 * @param operation2 Description de la deuxième opération
	 */
	public ResultatDoubleInfo(String operation1, String operation2){
		super(operation1);
		this.codeRetour2 = 0L;
		this.operation2 = operation2;
	}

	/**
	 * Accesseur
	 * @return La description de la deuxième opération à l'origine du résultat
	 */
	public String getOperation2() {
		return operation2;
	}

	/**
	 * Ajoute du texte à la description de la deuxième opération
	 * @param texte Texte à ajouter à la description de la deuxième opération
	 */
	public void appendOperation2(String texte) {
		this.operation2 += texte;
	}
	
	/**
	 * Accesseur
	 * @return codeRetour2 Deuxième code retour PKCS#11
	 */
	public String getCodeRetour2() {
		return TraitementsUtil.retranscritCodeRetour(codeRetour2);
	}

	/**
	 * Mutateur
	 * @param codeRetour2 Deuxième code retour PKCS#11
	 */
	public void setCodeRetour2(long codeRetour2) {
		this.codeRetour2 = codeRetour2;
	}
	
}
